STM32 电机控制 SDK MCFW-6.4.1
用于构建驱动 STM32 的 PMSM 电机应用的软件开发套件
霍尔传感器反馈处理

上一文:速度与位置反馈无传感器算法↤|目录 |↦ 下一页:正交编码器传感器速度与位置反馈处理

速度测量实现

得益于STM32通用定时器(TIMx)特性,微控制器与三个霍尔传感器的接口非常简单。当TIMx_CR1寄存器中的TI2S位被设置时,TIMx_CH1、TIMx_CH2和TIMx_CH3引脚上的三个信号会进行异或,所得信号连接到TIMx输入捕获。

因此,速度测量被转换为方波的周期测量,该方波的频率是实际电频率的六倍。唯一的例外是滚动方向,由于无法从异或信号中提取,而是通过直接访问三个霍尔传感器输出来实现的。

滚动方向识别

如下图所示,可以通过将H3-H2-H1视为三位二进制数(H3为最高有效位),将任一霍尔传感器输出组合与该状态关联到该状态的编号。

霍尔传感器,输出-状态对应

因此,可以通过比较当前状态与之前的转子方向来重建转子的滚动方向。在正速度存在的情况下,序列必须如上图所示。

周期测量

虽然用定时器测量周期的原理相当简单,但保持最佳分辨率非常重要,尤其是对于像当前这样可以变化、比值容易达到1:1000的信号。

为了始终保持最佳分辨率,当前实现中定时器时钟预分频器会不断调整。

基本原理是,如果捕获的值过低,则加快计时器,当连续捕获之间计时器溢出时减缓。下面图示说明了这一点。

霍尔传感器计时器接口预分频器减速
霍尔传感器计时器接口预分频器增加

预分频器的修改是在捕获中断中完成的,利用缓冲寄存器:新的预分频值仅在下一次捕获事件中被硬件考虑,且不影响测量。

更多细节见下图,流程图总结了所有作。TIMx_IRQHandler

TIMx_IRQHandler流程图

电角外推实现

如图所示,速度测量并非在 中完成的唯一任务。除了速度测量外,异或信号的高至低或低至高的跃迁还可能同步包含当前电角度的软件变量。TIMx_IRQHandler

同步是为了避免测量的电角度发生突然变化。为此,计算了从上一次速度测量中计算出的预期电角与来自霍尔传感器信号(见 )的实际电角之间的差值。新的速度测量会根据这些信息进行调整,以补偿差异。

如下图所示,任何霍尔传感器的变换都能提供非常精确的转子位置信息。

霍尔传感器输出跃迁

此外,采用FOC算法意味着需要良好且恒定的转子位置精度,包括在XOR信号连续两个下降沿之间(每60电度发生一次)。因此,显然有必要插值转子的电气角度信息。为此,每次执行FOC算法时,最新的可用速度测量(见测量单位)以dpp格式(如上所述调整)加入当前电角软件变量值中。参见测量单位

使用霍尔效应传感器时的系统设置

霍尔效应传感器是能够感测转子磁场极性的设备。它们提供逻辑输出,根据所面向的磁极以及转子位置,输出为0或1。

通常,在三相PM电机中,会使用三个霍尔效应传感器反馈转子位置信息。它们通常机械上位移120°或60°,所展示的固件库设计支持这两种可能性。

如图所示,典型波形可以在60°和120°位移霍尔传感器的传感器输出处可视化。更具体地说,这个数字指的是电气周期(即一个极对电机的机械转圈)。

60°和120°位移霍尔传感器输出波形

由于它们提供的旋翼位置信息是绝对的,因此无需进行任何初始的旋翼预置。然而,在将传感器连接到正确的微控制器输入时必须特别注意。

该软件库假设正向滚转方向是机器在正序三相系统中供电的滚转方向。在这种情况下,为了正确工作,软件库期望霍尔传感器信号跃迁应按照上图所示的顺序进行,适用于60°和120°位移的霍尔传感器。

基于这些原因,建议在将配备霍尔传感器的PM电机连接到主板时,遵循以下说明:

  1. 用手将转子朝假设为正的方向转动,观察三相电机所感应的B电动势。如果没有真实的中性点,可以通过三个电阻等方式重建。
  2. 将电机相位连接到硬件,并遵守正序。设“相A”、“相B”和“相C”分别由 、 和 驱动的电机相(例如,在使用MB459板时,可以将电机相位的正序列连接到J5 2、1和3)。TIM1_CH1TIM1_CH2TIM1_CH3
  3. 手动转动转子,沿假设正向旋转,查看三个霍尔传感器输出(H1、H2和H3),分别连接到通道1、2和3的选定定时器,确保遵守上图所示的序列。
  4. 测量相A感应的B电势最大值与信号H1第一个上升沿之间的电度延迟。
  5. 输入两个参数:位移和延迟,这些参数出现在ST MC Workbench的图形界面中,与电机速度和位置传感器相关的窗口内。下图展示了延迟为270°的例子。
霍尔电相位移的确定

上一文:速度与位置反馈无传感器算法↤|目录 |↦ 下一页:正交编码器传感器速度与位置反馈处理